<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>模块化概念</title>
  </head>
  <body>
    <script src="../static/plugins/jquery/jquery-3.3.1.min.js"></script>
    <script src="js/module.js"></script>
    <script>
      /**
       * 1.什么是模块?
       *   将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起
       *   块的内部数据/实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通信
       * 2.模块化
       *   编码时是按照模块一个一个编码的, 整个项目就是一个模块化的项目
       * 3.IIFE模式
       *    IIFE : 立即调用函数表达式--->匿名函数自调用
       *    格式：
       *        (function(window, $){ //形参
       *            ....
       *        })(window, jQuery)  //实参
       *    编码: 将数据和行为封装到一个函数内部, 通过给window添加属性来向外暴露接口
       *    引入依赖: 通过函数形参来引入依赖模块
       * */
      module.foo();
    </script>
  </body>
</html>
